package xyz.xmh.pattern.behavioral.observerpattern;

/**
 * @author Administrator
 * 观察者类演示类
 */
public class ObserverPatternDemo {

    public static void main(String[] args) {
        // 创建被观察对象
        Subject subject = new Subject();

        // 创建观察者对象，填入被观察对象，被观察对象关联观察对象
        new BinaryObserver(subject);
        new OctalObserver(subject);
        new HexObserver(subject);

        // 第一次改变状态
        System.out.println("First state change: 15");
        // 状态改变，调用通知所有观察者方法
        subject.setState(15);
        System.out.println("Second state change: 10");
        subject.setState(10);


    }

}
